package org.lvgo.jx3.furniture.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.lvgo.jx3.furniture.entity.FurnitureInfo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 家具基础表 服务类
 * </p>
 *
 * @author lvgorice@gmail.com
 * @since 2020-06-20
 */
public interface IFurnitureInfoService extends IService<FurnitureInfo> {

    /**
     * 更具类别获取家具列表
     *
     * @param type    家具type值
     * @param current 页码
     * @param size    每页大小
     * @return 分页家具
     */
    Page<FurnitureInfo> getFurnitureListByCategory(Integer type, int current, int size, String name, Integer level, int order, Integer source);

    /**
     * 获取全部家具列表
     *
     * @param current 页码
     * @param size    每页大小
     * @return 分页家具
     */
    Page<FurnitureInfo> getFurnitureList(int current, int size, String name, Integer level, int order, Integer source);

    /**
     * 获取所有家具类别
     *
     * @return 家具类别 Map
     */
    List<Map<String, Object>> getFurnitureCategories();

    /**
     * 获取家具副本类别
     *
     * @return 家具副本
     */
    List<Map<String, Object>> getFurnitureSourceOptions();

    /**
     * 获取家具来源列表
     *
     * @return 家具来源列表
     */
    List<Map<String, Object>> getFurnitureSources();
}
